package com.xygz.orm.json.schema;


/**
 * 条件项
 *
 * @author xiyuan-lgz 2025-08-05 @version v1.0.0 新建与整理
 */
public class QueryItem {
    /**
     * 默认 and 条件
     */
    private boolean or = false;
    
    /**
     * 哪个表
     */
    private String table;
    
    /**
     * 那个字段
     */
    private String field;
    
    /**
     * 比较条件
     */
    private OpType op;
    
    /**
     * 条件值，
     * <pre>
     *     需要注意:
     *     1、如果是between 条件必须 数组并且 只有两个值 或者逗号隔开的字符串
     *     2、如果是 in 或者 not in 必须 数组并且有一个值 或者逗号隔开的的字符串并且有值，
     *     3、如果是 null, 情况下必须使用 is_null 或者 is_not_null 关键字 否则条件无效
     * </bre>
     */
    private Object value;
    
    public boolean or() {
        return or;
    }
    
    public void setOr(boolean or) {
        this.or = or;
    }
    
    public String getTable() {
        return table;
    }
    
    public void setTable(String table) {
        this.table = table;
    }
    
    public String getField() {
        return field;
    }
    
    public void setField(String field) {
        this.field = field;
    }
    
    public OpType getOp() {
        return op;
    }
    
    public void setOp(OpType op) {
        this.op = op;
    }
    
    public Object getValue() {
        return value;
    }
    
    public void setValue(Object value) {
        this.value = value;
    }
}
